menu button: Add popup/popdown functions
authorMatthias Clasen <mclasen@redhat.com>
Fri, 24 May 2019 00:30:39 +0000 (00:30 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 24 May 2019 00:30:39 +0000 (00:30 +0000)
These are needed, after all.

docs/reference/gtk/gtk4-sections.txt
gtk/gtkmenubutton.c
gtk/gtkmenubutton.h

index ba5ff18e3766183fc0c5be635082f3ba54d1e68e..338e80e1b916325217cc62d768ec2d14432060ae 100644 (file)
@@ -1855,6 +1855,8 @@ gtk_menu_button_set_label
 gtk_menu_button_get_label
 gtk_menu_button_set_relief
 gtk_menu_button_get_relief
+gtk_menu_button_popup
+gtk_menu_button_popdown
 <SUBSECTION Standard>
 GTK_TYPE_MENU_BUTTON
 GTK_MENU_BUTTON
index eddef5584db348adfd6975719cd6e0b6236aa991..80ad5affd5c90c8af74c95eb6c03117c60a9fb36 100644 (file)
@@ -1369,3 +1369,34 @@ gtk_menu_button_get_relief (GtkMenuButton *menu_button)
   return gtk_button_get_relief (GTK_BUTTON (priv->button));
 }
 
+/**
+ * gtk_menu_button_popup:
+ * @menu_button: a #GtkMenuButton
+ *
+ * Pop up the menu.
+ */
+void
+gtk_menu_button_popup (GtkMenuButton *menu_button)
+{
+  GtkMenuButtonPrivate *priv = gtk_menu_button_get_instance_private (menu_button);
+
+  g_return_if_fail (GTK_IS_MENU_BUTTON (menu_button));
+
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), TRUE);
+}
+
+/**
+ * gtk_menu_button_popdown:
+ * @menu_button: a #GtkMenuButton
+ *
+ * Dismiss the menu.
+ */
+void
+gtk_menu_button_popdown (GtkMenuButton *menu_button)
+{
+  GtkMenuButtonPrivate *priv = gtk_menu_button_get_instance_private (menu_button);
+
+  g_return_if_fail (GTK_IS_MENU_BUTTON (menu_button));
+
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), FALSE);
+}
index c94dd49376bf44e5cf8af1346be9c5bbe606e642..28d9612cdc4a857a1136a892a1127b45b66235e9 100644 (file)
@@ -118,6 +118,12 @@ void           gtk_menu_button_set_relief   (GtkMenuButton  *menu_button,
 GDK_AVAILABLE_IN_ALL
 GtkReliefStyle gtk_menu_button_get_relief   (GtkMenuButton  *menu_button);
 
+GDK_AVAILABLE_IN_ALL
+void          gtk_menu_button_popup (GtkMenuButton *menu_button);
+GDK_AVAILABLE_IN_ALL
+void          gtk_menu_button_popdown (GtkMenuButton *menu_button);
+
+
 G_END_DECLS
 
 #endif /* __GTK_MENU_BUTTON_H__ */